package com.cnooc.aicv.lmapp.service;

public class LmPromptMaker implements PromptMaker {

    private static final String PROMPT_HELMET = "请判断图中人员如果没戴安全帽回答yes，如果戴了安全帽回答no。只需要回答yes或者no即可，不需要解释。，回答格式要求：用json格返回，json格式要求：jsonsafety_risk:yes or no";
//    人员离岗监测
    private static final String PROMPT_LEAVEPOSITION = "请判断图中有人吗?没有人的话回答yes，有人的话回答no。只需要回答yes或者no即可，不需要解释。回答格式要求：用json格返回，json格式要求：jsonsafety_risk:yes or no";
//    渔船识别
    private static final String PROMPT_FISHSHIP 	= "请判断图中有渔船、皮划艇、快艇等小型船舶出现吗?出现了渔船、皮划艇、快艇等小型船舶的话回答yes，没有出现渔船、皮划艇、快艇等小型船舶的话回答no。只需要回答yes或者no即可，不需要解释。回答格式要求：用json格返回，json格式要求：jsonsafety_risk:yes or no";
    private static final String PROMPT_SEAICE ="请判断图中海面上有浮冰出现吗?出现浮冰的话回答yes，没有出现浮冰的话回答no。只需要回答yes或者no即可，不需要解释。回答格式要求：用json格返回，json格式要求：jsonsafety_risk:yes or no";
    private static final String PROMPT_FRAME="请判断图中的火炬是点燃状态或者图中有火焰出现吗?发现火焰或者发现火炬是点燃状态的的话回答no，没有发现火焰或者火炬是熄灭状态的话回答yes。只需要回答yes或者no即可，不需要解释。回答格式要求：用json格返回，json格式要求：jsonsafety_risk:yes or no";
    private static final String PROMPT_WORKINGSHOE ="请判断图中的有人员出现且人员没穿工作鞋。如果图中有人员出现且能看清人员的脚部没穿工作鞋的话回答yes，图中没有人员出现的话回答no，有人员出现但是无法看到人员的脚部无法确定是否穿了工鞋的话回答no，有人员出现但是没有穿工鞋的话回答no。只需要回答yes或者no即可，不需要解释。回答格式要求：用json格返回，json格式要求：jsonsafety_risk:yes or no";
    private static final String PROMPT_SMOKE = "请判断图中是否有烟雾出现。图中出现了烟雾的话回答yes，图中没有出现烟雾的话回答no。只需要回答yes或者no即可，不需要解释。回答格式要求：用json格返回，json格式要求：jsonsafety_risk:yes or no";
    private static final String PROMPT_SMOKING ="请判断图中的有人员出现且人员是否正在吸烟。如果图中有人员出现且能看到人员正在吸烟的话回答yes，图中没有人员出现的话回答no，图中有人员出现但是无法区分人员是否吸烟的话回答no，图中有人员出现且人没有吸烟的话回答no。只需要回答yes或者no即可，不需要解释。回答格式要求：用json格返回，json格式要求：jsonsafety_risk:yes or no";
    private static final String PROMPT_FIREEXTINGUISHER = "请判断图中是否灭火器出现。图中出现了灭火器的话回答no，图中没有出现灭火器的话回答yes。只需要回答yes或者no即可，不需要解释。回答格式要求：用json格返回，json格式要求：jsonsafety_risk:yes or no";
    private static final String PROMPT_REFLECTIVE  = "请判断图中的有人员出现且人员没有穿特殊作业戴指挥服、警示反光衣等外套。如果图中出现穿戴特殊作业指挥服、警示反光衣等外套的人员的话回答no，图中没有人员出现的话回答no，图中有人员出现但是人员没有穿戴特殊作业指挥服、警示反光衣等外套的话回答yes。只需要回答yes或者no即可，不需要解释。回答格式要求：用json格返回，json格式要求：jsonsafety_risk:yes or no";
    private static final String PROMPT_GOGGLES  ="请判断图中的有人员出现且人员没戴护目镜、眼镜。如果图中有人员出现且能看清人员的面部没有佩戴护目镜、眼镜的话回答yes，图中没有人员出现的话回答no，有人员出现但是无法看到人员的面部无法确定是否佩戴了护目镜、眼镜的话回答no，有人员出现但是没有佩戴护目镜、眼镜的话回答no。只需要回答yes或者no即可，不需要解释。回答格式要求：用json格返回，json格式要求：jsonsafety_risk:yes or no";
    private static final String PROMPT_FIRE="请判断图中是否有火焰出现。图中出现了火焰的话回答yes，图中没有出现火焰的话回答no。只需要回答yes或者no即可，不需要解释。回答格式要求：用json格返回，json格式要求：jsonsafety_risk:yes or no";
    private static final String PROMPT_SEATBELT="请判断图中的有人员出现且人员在进行高处作业、舷外作业、限制空间作业时没戴安全带。如果图中有人员出现且正在进行高处作业、舷外作业、限制空间作业时时没戴安全带的话回答yes，图中没有人员出现的话回答no，图中有人员出现但是无法看到人员的身体导致无法判断是否戴安全带的话回答no，图中有人员出现但是没有进行高处作业、舷外作业、限制空间作业的话回答no，图中有人员出现且正常进行高处作业、舷外作业、限制空间作业时按要求佩戴了安全带的话回答no。只需要回答yes或者no即可，不需要解释。回答格式要求：用json格返回，json格式要求：jsonsafety_risk:yes or no";

    public static final String LINUX_PATH_MESSAGE_TEMPLATE = "/data1/evan/aicv/non-safety-helmet";


    @Override
    public String makePrompt(String prompt) {
        switch (prompt) {
            case "人员未佩戴安全帽报警":
                return PROMPT_HELMET;
            case "人员离岗监测":
                return PROMPT_LEAVEPOSITION;
            case "渔船识别":
                return PROMPT_FISHSHIP;
            case "海面浮冰":
                return PROMPT_SEAICE;
            case "火炬监测":
                return PROMPT_FRAME;
            case "未穿工鞋识别":
                return PROMPT_WORKINGSHOE;
            case "烟雾告警":
                return PROMPT_SMOKE;
            case "抽烟识别":
                return PROMPT_SMOKING;
            case "灭火器丢失报警":
                return PROMPT_FIREEXTINGUISHER;
            case "未穿反光衣报警":
                return PROMPT_REFLECTIVE;
            case "人员未佩戴护目镜报警":
                return PROMPT_GOGGLES;
            case "火告警":
                return PROMPT_FIRE;
            case "人员未佩戴安全带告警":
                return PROMPT_SEATBELT;
            default:
                return PROMPT_HELMET;
        }
    }

    public String getJsonFile() {
        // local 本地测试 ----
        //String  jsonFile = "C:\\Users\\liych46\\Downloads\\lmapplocal\\lmapp\\src\\main\\resources\\non-safety-helmet";
      return LINUX_PATH_MESSAGE_TEMPLATE;
//        return jsonFile;

    }
}
